package 创建的方式;

public class 多线程并发特性_1 {
    public static void main(String[] args) {

            //设计两个线程，每个循环10次，每次打印一个语句
            Thread t1 = new Thread(new Runnable() {
                @Override
                public void run() {
                    //Thread.currentThread返回这行代码运行时所在的线程引用
                    //thread.getName返回线程的名称
                    try {
                        String name = Thread.currentThread().getName();
                        for(int i=0; i<10; i++){
                            Thread.sleep(10);
                            System.out.printf("线程: %s, 执行第 %s 次\n", name, i);
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }, "t1");//创建线程时设置第二个参数，表示设置的线程名称

            Thread t2 = new Thread(new Runnable() {
                @Override
                public void run() {
                    //Thread.currentThread返回这行代码运行时所在的线程引用
                    //thread.getName返回线程的名称
                    try {
                        String name = Thread.currentThread().getName();
                        for(int i=0; i<10; i++){
                            Thread.sleep(100);
                            System.out.printf("线程: %s, 执行第 %s 次\n", name, i);
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }, "t2");//创建线程时设置第二个参数，表示设置的线程名称

            t1.start();
            t2.start();
        }
    }